00001 <?php
00002
00003 require_once 'PHPUnit/Extensions/SeleniumTestCase.php';
00004
00005 class RessourcenSeleniumTest extends PHPUnit_Extensions_SeleniumTestCase
00006 {
00007 private $username;
00008 private $password;
00009 private $path;
00010
00011 protected function setUp()
00012 {
00013 $iniarr = parse_ini_file( PATH_TO_ROOT . "../gui-tests/gui-test.ini", true);
00014 $this->setBrowserUrl($iniarr['BrowserUrl']);
00015 $this->setBrowser($iniarr['browser']);
00016 $this->setPort((int)$iniarr['port']);
00017 $this->setHost($iniarr['host']);
00018 $this->username = "root";
00019 $this->password = $iniarr['rootPasswd'];
00020 $this->path = $iniarr['BrowserUrl'];
00021 }
00022
00023
00024 public function assertTextPresent( $pattern, $message = '' ) {
00025 $pattern = iconv( "ISO-8859-1", "UTF-8", $pattern );
00026 parent::assertTextPresent( $pattern, $message );
00027 }
00028
00029 private function login() {
00030 $this->open( $this->path . "login.php");
00031 $this->waitForPageToLoad("30000");
00032 $this->type("name=username", $this->username);
00033 $this->type("name=password", $this->password);
00034 $this->click("okButton");
00035 $this->waitForPageToLoad("30000");
00036 $this->click("link=Dateien & Links");
00037 $this->waitForPageToLoad("30000");
00038 }
00039
00040
00041 private function logout() {
00042 $this->click("link=Ausloggen");
00043 $this->waitForPageToLoad("30000");
00044 }
00045
00046
00047 public function testCreateFolder() {
00048 $this->login();
00049
00050 $this->click("link=Ordner/Link erstellen");
00051 $this->waitForPageToLoad("30000");
00052 $this->click("ID_type_ROOT");
00053 $this->click("student_write");
00054 $this->type("userfile", "Selenium-Test");
00055 $this->type("name", "Test-Tooltip");
00056 $this->type("comment", "Test-Beschreibung");
00057 $this->click("okButton");
00058 $this->waitForPageToLoad("30000");
00059 $this->assertTextPresent("Aktion wurde erfolgreich durchgeführt!");
00060 $this->click("link=Dateien & Links");
00061 $this->waitForPageToLoad("30000");
00062 $this->assertTextPresent("Selenium-Test (0)");
00063 $this->click("link=Selenium-Test (0)");
00064 $this->waitForPageToLoad("30000");
00065 $this->assertTextPresent("Keine Dateien vorhanden.");
00066
00067 $this->logout();
00068 }
00069
00070 public function testCreateLink() {
00071 $this->login();
00072
00073 $this->click("link=Ordner/Link erstellen");
00074 $this->waitForPageToLoad("30000");
00075 $this->click("ID_type_link");
00076 $this->type("userfile", "http://google.de");
00077 $this->type("name", "Test-Link");
00078 $this->select("folder", "label=glob:*Selenium-Test");
00079 $this->type("comment", "Test-Beschreibung");
00080 $this->click("okButton");
00081 $this->waitForPageToLoad("30000");
00082 $this->assertTextPresent("Aktion wurde erfolgreich durchgeführt!");
00083 $this->click("link=Dateien & Links");
00084 $this->waitForPageToLoad("30000");
00085 $this->click("link=Selenium-Test (1)");
00086 $this->waitForPageToLoad("30000");
00087 $this->assertTextPresent("Test-Link");
00088 $this->click("//img[@alt='info Symbol']");
00089 $this->waitForPageToLoad("30000");
00090 $this->assertTextPresent("Test-Beschreibung");
00091
00092 $this->logout();
00093 }
00094
00095 protected function tearDown()
00096 {
00097 }
00098
00099 public function testFileOptions() {
00100 $this->login();
00101
00102 $this->click("link=Selenium-Test (1)");
00103 $this->waitForPageToLoad("30000");
00104 $this->click("//img[@alt='edit Symbol']");
00105 $this->waitForPageToLoad("30000");
00106 $this->assertTextPresent("Datei Upload");
00107
00108 $this->click("link=Dateien & Links");
00109 $this->waitForPageToLoad("30000");
00110 $this->click("link=Selenium-Test (1)");
00111 $this->waitForPageToLoad("30000");
00112
00113 $this->click("//tr[2]/td[2]/a[3]/img");
00114 $this->waitForPageToLoad("30000");
00115 $this->assertTextPresent("Sichtbarkeit ändern");
00116 $this->assertElementPresent("link=Dozenten");
00117 $this->assertElementPresent("link=Dozenten und Tutoren");
00118 $this->assertElementPresent("link=Abbrechen");
00119 $this->assertElementNotPresent("link=Alle");
00120
00121
00122 $this->click("link=Dozenten");
00123 $this->waitForPageToLoad("30000");
00124 $this->click("//img[@alt='visibilityDocentsOnly Symbol']");
00125 $this->waitForPageToLoad("30000");
00126 $this->assertTextPresent("Sichtbarkeit ändern");
00127 $this->assertElementNotPresent("link=Dozenten");
00128 $this->assertElementPresent("link=Dozenten und Tutoren");
00129 $this->assertElementPresent("link=Abbrechen");
00130 $this->assertElementPresent("link=Alle");
00131
00132
00133 $this->click("link=Dozenten und Tutoren");
00134 $this->waitForPageToLoad("30000");
00135 $this->click("//img[@alt='visibilityNoStudents Symbol']");
00136 $this->waitForPageToLoad("30000");
00137 $this->assertTextPresent("Sichtbarkeit ändern");
00138 $this->assertElementPresent("link=Dozenten");
00139 $this->assertElementNotPresent("link=Dozenten und Tutoren");
00140 $this->assertElementPresent("link=Abbrechen");
00141 $this->assertElementPresent("link=Alle");
00142
00143
00144 $this->click("link=Alle");
00145 $this->waitForPageToLoad("30000");
00146 $this->click("//tr[2]/td[2]/a[3]/img");
00147 $this->waitForPageToLoad("30000");
00148 $this->assertTextPresent("Sichtbarkeit ändern");
00149 $this->assertElementPresent("link=Dozenten");
00150 $this->assertElementPresent("link=Dozenten und Tutoren");
00151 $this->assertElementPresent("link=Abbrechen");
00152 $this->assertElementNotPresent("link=Alle");
00153
00154 $this->click("//img[@alt='delete Symbol']");
00155 $this->waitForPageToLoad("30000");
00156 $this->assertTextPresent("Wollen Sie die Datei wirklich löschen?");
00157
00158
00159 $this->logout();
00160 }
00161
00162 public function testFolderOptions() {
00163 $this->login();
00164
00165 $this->click("link=Selenium-Test (1)");
00166 $this->waitForPageToLoad("30000");
00167
00168 $this->click("//img[@alt='Bearbeiten']");
00169 $this->waitForPageToLoad("30000");
00170 $this->assertTextPresent("Datei Upload");
00171
00172 $this->click("link=Dateien & Links");
00173 $this->waitForPageToLoad("30000");
00174 $this->click("link=Selenium-Test (1)");
00175 $this->waitForPageToLoad("30000");
00176
00177
00178 $this->click("//img[@alt='visibilityAll Symbol']");
00179 $this->waitForPageToLoad("30000");
00180 $this->click("link=Nur Ordner");
00181 $this->waitForPageToLoad("30000");
00182
00183 $this->assertTextPresent("Sichtbarkeit ändern");
00184 $this->assertElementPresent("link=Dozenten");
00185 $this->assertElementPresent("link=Dozenten und Tutoren");
00186 $this->assertElementPresent("link=Abbrechen");
00187 $this->assertElementNotPresent("link=Alle");
00188
00189 $this->click("link=Dozenten");
00190 $this->waitForPageToLoad("30000");
00191 $this->click("//img[@alt='visibilityDocentsOnly Symbol']");
00192 $this->waitForPageToLoad("30000");
00193 $this->click("link=Ordner und Inhalt (rekursiv)");
00194 $this->waitForPageToLoad("30000");
00195 $this->click("link=Dozenten und Tutoren");
00196 $this->waitForPageToLoad("30000");
00197 $this->click("//img[@alt='visibilityNoStudents Symbol']");
00198 $this->waitForPageToLoad("30000");
00199 $this->click("link=Inhalt (rekursiv)");
00200 $this->waitForPageToLoad("30000");
00201 $this->click("link=Dozenten");
00202 $this->waitForPageToLoad("30000");
00203 $this->click("//img[@alt='visibilityDocentsOnly Symbol']");
00204 $this->waitForPageToLoad("30000");
00205 $this->click("link=Dozenten und Tutoren");
00206 $this->waitForPageToLoad("30000");
00207 $this->click("//tr[2]/td[2]/a[3]/img");
00208 $this->waitForPageToLoad("30000");
00209 $this->click("//img[@alt='visibilityNoStudents Symbol']");
00210 $this->waitForPageToLoad("30000");
00211 $this->click("link=Ordner und Inhalt (rekursiv)");
00212 $this->waitForPageToLoad("30000");
00213 $this->click("link=Alle");
00214 $this->waitForPageToLoad("30000");
00215 $this->click("//img[@alt='Studenten Schreibrechte entziehen']");
00216 $this->waitForPageToLoad("30000");
00217 $this->click("//img[@alt='Studenten Schreibrechte geben']");
00218 $this->waitForPageToLoad("30000");
00219
00220 $this->logout();
00221 }
00222
00223 public function testDeleteFile() {
00224 $this->login();
00225
00226 $this->click("link=Selenium-Test (1)");
00227 $this->waitForPageToLoad("30000");
00228
00229 $this->click("//img[@alt='delete Symbol']");
00230 $this->waitForPageToLoad("30000");
00231 $this->click(utf8_encode("//input[@value='Löschen']"));
00232 $this->waitForPageToLoad("30000");
00233 $this->assertTextPresent("Selenium-Test (0)");
00234
00235 $this->logout();
00236 }
00237
00238 public function testDeleteFolder() {
00239 $this->login();
00240
00241 $this->click("link=Selenium-Test (0)");
00242 $this->waitForPageToLoad("30000");
00243 $this->click(utf8_encode("//img[@alt='Löschen']"));
00244 $this->waitForPageToLoad("30000");
00245 $this->click(utf8_encode("//input[@value='Löschen']"));
00246 $this->waitForPageToLoad("30000");
00247 $this->assertTextNotPresent("Selenium-Test");
00248
00249 $this->logout();
00250 }
00251 }
00252 ?>